﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace hse_2013_photo_viewer
{
    public class PhotoBrowsing
    {
        /// <summary>
        /// метод, инвертирующий строку
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public static string Reverse(string s)
        {
            char[] charArray = s.ToCharArray();
            Array.Reverse(charArray);
            return new string(charArray);
        }

        /// <summary>
        /// вывод массива с именами всех файлов
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public List<string> LoadPictures(string t)
        {
            List<string> photos = new List<string>(); //массив, который будет выводиться
            List<string> servicephotos = new List<string>(); //массив, который будет собирать номера строк, удовлетворяющим нам по разрешению файла
            List<string> tempphotos = new List<string>(); //массив, который будет загружать в 1 массив строки с номерами 2 массива
            servicephotos = Directory.GetFiles(@t).ToList();
            tempphotos = Directory.GetFiles(@t).ToList();
            for (int i = 0; i < servicephotos.Count; i++) //загружаем в 1 массив пути к файлам нужного нам разрешения
            {


                servicephotos[i] = Reverse(servicephotos[i]);
                servicephotos[i] = servicephotos[i].Remove(4);
                servicephotos[i] = Reverse(servicephotos[i]);
                

                switch (servicephotos[i])
                {
                    case ".jpg":
                {
                    photos.Add(tempphotos[i]);
                    break;
                    }

                    case ".gif":
                {
                    photos.Add(tempphotos[i]);
                    break;
                }
                    case ".bmp":
                            {
                    photos.Add(tempphotos[i]);
                    break;
                            }
                     
                }

            }
            
            return photos;
                        
        }

        
    }
}
